module SqlDataBase where

data SqlDataBase =
    SqlDataBase { sqlDataBaseRelations :: Map SqlRelationName SqlRelation }

type SqlRelationName = String
 
data SqlRelation =
    SqlRelation
        { sqlRelationFields :: Map SqlFieldName SqlFieldType
        , sqlRelationPrivateKey :: Maybe (Set SqlFieldName)
        , sqlRelationUniqueConstraints :: Set (Set SqlFieldName)
        , sqlRelationForeighnKeys :: Set (Set SqlFieldName, SqlRelationName)
        }

type SqlFieldName = String
